home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 47 / Amiga Format AFCD47 (Issue 131, Xmas 1999).iso / -screenplay- / shareware / zangband226c / help / version.txt < prev   
Text File  |  1999-10-04  |  21KB  |  482 lines

  1. === Zangband History and Information ===
  2.  
  3. Versions 1.0 - 2.1.0c
  4. ---------------------
  5.  
  6. The seeds of Zangband lie in an obsolete and long ago vanished PC variant
  7. (somewhat misleadingly) dubbed Angband--. The variant was written by a
  8. hopeless Angband addict (previously Moria veteran and winner) who got 
  9. bored with the standard monsters and wanted to introduce some new 
  10. monsters. Angband-- was based on the PC Angband 1.31 sources, and 
  11. it was set in Roger Zelazny's 'Amber' universe.
  12.  
  13. Later this individual got a better computer and learned to code, and 
  14. produced the PC Zangband, and most Angband-- monsters survived into
  15. PC Zangband 1.0. PC Zangband 1.0 was the first PC Angband to introduce
  16. (simple, font-based) graphics, which were also used in the graphical
  17. PC Angband 1.40. 
  18.  
  19. Yet this individual was still not cured of his addiction... his almost
  20. as strong addiction to the Civilization style fantasy strategy game 
  21. 'Master of Magic' inspired him to write a new magic system. The current
  22. version of Zangband (2.*) incorporates this magic system, as well as
  23. the best features from Angband-- and PC Zangband 1.0. It is based on
  24. the Angband 2.8.1 sources (by Ben Harrison), and is therefore portable
  25. to other systems (unlike the earlier versions which were for dos-pc's
  26. only).
  27.  
  28. Incidentally, this person (me, Topi Ylinen) also thought that the 
  29. standard Angband monsters were too easy, which led him to introduce
  30. such monsters as Death swords, Cyberdemons and Great wyrms of power...
  31.  
  32. Versions 2.1.0d - present
  33. -------------------------
  34.  
  35. ZAngband 2.1.0c was Topi's last version, he has got a job and and
  36. doesn't have enough time anymore to continue work on ZAngband.
  37. He asked for a new maintainer and I was the one to take over the task.
  38. May I introduce myself, my name is Robert Ruehlmann, I'm the creator
  39. of the graphical Angband versions for DOS and webmaster of
  40. "Thangorodrim - The Angband Page" ("http://thangorodrim.angband.org").
  41.  
  42. Special thanks
  43. --------------
  44.  
  45. The newer versions of Zangband might not have come into existence without
  46. the significant help from these excellent Angband programmers.
  47.  
  48. Topi would like to thank:
  49.  
  50.         Ben Harrison, for obvious reasons.
  51.  
  52.         Greg Wooledge, who pointed out a bug in the dos compiler,
  53.         which was preventing Topi's progress with the first 2.* version
  54.         of Zangband and for various patches.
  55.  
  56.         Julian Lighton, who must have sent Topi more ideas, patches, and
  57.         bug reports, than all the others toghether.
  58.  
  59.         Robert Ruehlmann, whose nice new main-dos.c enables SVGA
  60.         graphics and even windows in ms-dos.
  61.  
  62.         Paul Sexton, who is responsible for about 50% of the new code
  63.         in 2.1.0.
  64.  
  65. Robert would also like to thank:
  66.  
  67.         Heino Vander Sanden, who created the quest-code and
  68.         Dean Anderson, whose patch showed me the quickest way to
  69.         implement the quests.
  70.  
  71.         Adam Bolt, who created the new ZAngband tiles.
  72.  
  73.         Scott Bigham, for the S-Lang patch.
  74.  
  75.         Jeff Duprey for the new mutations.    
  76.  
  77.         John Duffin and Leigh Silas Hanrihan for the new items.
  78.  
  79.         Marten Woxberg for many new ideas.
  80.  
  81.         Ken Wigle for allowing me to include his town and quest code.
  82.  
  83.         Tim Baker for many patches and bugfixes and for ZAngbandTk.
  84.  
  85.         Chris Weisiger for many new vault layouts.
  86.  
  87.         Juergen Neitzel for countless new rumors.
  88.  
  89.         Topi Ylinen, Mark Howson, Adam Horowitz, Oscar Nelson and
  90.         all the other regular members of the #angband chat channel
  91.         for giving me lots of new ideas and being good friends.
  92.  
  93.         Benny S. Hofmann, Aram Harrow, Greg Harvey, Keldon Jones,
  94.         Graham Murray, Remco Gerlich, Tim Baker, Oscar Nelson,
  95.         Adam Horowitz, David A. Henry, "Strikes", Chris Hadgis,
  96.         David Howdon, Jenni Henzel, Stephen Lee, Gwidon S. Naskrent,
  97.         Eric Wright, Bob Martin, Jeff Coleburn, Ethan Sicotte,
  98.         Brandon Walker, Kelly Trinh, Brian Graham, James W. Sager III,
  99.         John Holton, Larry Bassel, Markus Linnala, Musus Umbra,
  100.         Mike Hommel, Christopher Stranczek, Werner Baer, Andreas Koch,
  101.         Jon Boehnker, Jason Willoughby, David Paoletti and many others
  102.         for bugreports, patches, bugfixes, and ideas.
  103.  
  104. === Brief Version History (of standard Angband) ===
  105.  
  106. First came "VMS Moria", by Robert Alan Koeneke (1985).
  107.  
  108. Then came "Umoria" (Unix Moria), by James E. Wilson (1989).
  109.  
  110. In 1990, Alex Cutler and Andy Astrand, with the help of other students
  111. at the University of Warwick, created Angband 1.0, based on the existing
  112. code for Umoria 5.2.1.  They wanted to expand the game, keeping or even
  113. strengthening the grounding in Tolkien lore, while adding more monsters
  114. and items, including unique monsters and artifact items, plus activation,
  115. pseudo-sensing, level feelings, and special dungeon rooms.
  116.  
  117. Over time, Sean Marsh, Geoff Hill, Charles Teague, and others, worked on
  118. the source, releasing a copy known as "Angband 2.4.frog_knows" at some
  119. point, which ran only on Unix systems, but which was ported by various
  120. people to various other systems.
  121.  
  122. Then Charles Swiger (cs4w+@andrew.cmu.edu) attempted to clean up the mess,
  123. resulting in several versions, starting sometime around November, 1993, with
  124. Angband 2.5.1 (more or less) and leading up to Angband 2.6.2 in late 1994.
  125. Several people ported (the primarily Unix/NeXT centered) Angband 2.6.1 to
  126. other platforms, including Keith Randall, who made a Macintosh port that
  127. added support for color usage.  Some of the changes during this period were
  128. based on suggestions from the "net", PC Angband 1.40, UMoria 5.5, and some
  129. of the Angband "variations", such as FAngband.
  130.  
  131. Finally, I (Ben Harrison) took over in late 1994 when Charles Swiger left.
  132. Initially my intention was simply to clean up what had become, after ten
  133. years, a rather unholy mess, but the deeper I delved into the code, the
  134. more it became apparent that drastic changes were needed, so, starting
  135. with MacAngband 2.6.1, I began a more or less total rewrite, resulting,
  136. eventually, in Angband 2.7.0, released around January first, 1995.
  137.  
  138. Angband 2.7.0 was a very clean (but very buggy) rewrite that, among other
  139. things, allowed extremely simple porting to multiple platforms, starting
  140. with Unix and Macintosh, and by the time most of the bugs were cleaned up,
  141. in Angband 2.7.2, including X11, and various IBM machines.  Angband 2.7.4
  142. was released to the "ftp.cis.ksu.edu" site, and quickly gained acceptance,
  143. perhaps helped by the OS2 and Windows and Amiga and Linux ports.  Angband
  144. 2.7.5 and 2.7.6 added important capabilities such as macros and user pref
  145. files, and continued to clean up the source.  Angband 2.7.8 was designed
  146. to supply another "stable" version that we can all give to our friends,
  147. with new "help files" and "spoiler files" for the "online help", plus a
  148. variety of minor tweaks and some new features.  Angband 2.7.9 optimized
  149. a few things, and tweaked a few other things, and cleaned up a few other
  150. things, and introduced a few minor semantic changes.
  151.  
  152. It is very hard to pin down, along the way from 2.6.2 to 2.7.0, and thence
  153. to 2.7.8, exactly what was added exactly when.  Most of these steps involved
  154. so many changes as to make "diff files" not very useful, since often the diff
  155. files were as long as the code itself.  Most of the changes, with the notable
  156. exception of the creation of the new "main-xxx.c" files for the various new
  157. platforms, and a few other exceptions generally noted in the source, were
  158. written by myself, either spontaneously, or, more commonly, as the result of
  159. a suggestion or comment by an Angband player.  So if you have any problems
  160. with anything that you do not recognize from older versions, you can blame
  161. them on me.  And if you like the new features and such, you can send me a
  162. brief little "thank you" email (to benh@phial.com) or something...
  163.  
  164. The Official Angband Home Page ("http://www.phial.com/")
  165. was created along with Angband 2.7.9 to serve as an up to date description
  166. of any bugs found in various versions, and to list all of the people whose
  167. email addresses I kept having to look up.
  168.  
  169.  
  170. === Some of the changes from Angband 2.6.1 to Angband 2.7.9 ===
  171.  
  172. The most important modification was a massive "code level cleanup" that made
  173. all of my other modifications much simpler and safer.  This cleanup was so
  174. massive that in many places the code is no longer recognizable, for example,
  175. via "diff -r", often because it was rewritten from scratch.
  176.  
  177. The second most important modification was the design of a generic "term.c"
  178. package, which allows Angband to be ported to a new machine with as few as 50
  179. lines of code.  Angband 2.7.9 thus runs without modification on many machines,
  180. including Macintosh, PowerMac, Unix/X11, Unix/Curses, Amiga, Windows, OS2-386,
  181. DOS-386, and even DOS-286.
  182.  
  183. It would be difficult to list all of the changes between Angband 2.6.1 and
  184. Angband 2.7.9, because many of them were made in passing during the massive
  185. code level cleanup.  Many of the changes are invisible to the user, but still
  186. provide increased simplicity and efficiency, and decreased code size, or make
  187. other more visable changes possible.  For example, the new "project()" code
  188. that handles all bolts, beams, and balls, the new "update_view()" code that
  189. simplifies line of sight computation, or the new "generate()" code that builds
  190. new levels in the dungeon.  Many changes have been made to increase efficiency,
  191. including the new "process_monsters()" and "update_monsters()" functions, and
  192. the new "objdes()" and "lite_spot()" routines.  The generic "Term" package
  193. yielded efficient screen updates, and enabled the efficient use of "color".
  194.  
  195. But anyway, here are a few things that come to mind, in no particular order,
  196. and with very little time or effort.  Somehow I managed to put off updating
  197. this file to the very end, and it will just have to do for now.  The recent
  198. changes (and bug fixes) can be found at the Official Angband Home Page.
  199.  
  200.     color
  201.     macros
  202.     keymaps
  203.     user pref files
  204.     generic feature array, with template file
  205.     generic object array, with template file
  206.     generic artifact array, with template file
  207.     generic ego-item array, with template file
  208.     generic monster array, with template fils
  209.     generic vault array, with template file
  210.     binary image files for the template files
  211.     special stat effect tables
  212.     a special table of spells
  213.     a special table of options
  214.     inventory tagging
  215.     inventory restrictions
  216.     using objects off the floor
  217.     various new runtime options
  218.     the new "destroy" command
  219.     the new "examine" command
  220.     the new "note" command
  221.     the new "dump screen" command
  222.     the new "load screen" command
  223.     the new "un-inscribe" command
  224.     the new "change visuals" command
  225.     the new "change colors" command
  226.     the new "change macros" command
  227.     the new "save game" command
  228.     the new "fire" vs "throw" commands
  229.     rearranged equipment slots
  230.     a standard bow slot
  231.     an extra inventory slot
  232.     an underlying keyset
  233.     refueling torches
  234.     better monster memory
  235.     nicer targetting mode
  236.     object stacking
  237.     the recall window
  238.     the choice window
  239.     the mirror window
  240.     new high score code
  241.     special lighting effects
  242.     intelligent monsters
  243.     new monster flags
  244.     text formatting code
  245.     much cleaner store code
  246.     generic spell projections
  247.     scrolls of *identify*
  248.     maximize mode
  249.     preserve mode
  250.     new inscription code
  251.     new message recall code
  252.     new spell and prayer code
  253.     massive cleanup of effects code
  254.     new object allocation routines
  255.     powerful (but simple) on line help
  256.     robust savefile cheat preventers
  257.     new official cheating options
  258.     new blindness code
  259.     new hallucination code
  260.     optimized object description code
  261.     new keypress input routines
  262.     actual object discounts
  263.     fractional (assymptotic) speed
  264.     postponing updates/redraws
  265.     run-time price determination
  266.     better wizard commands
  267.     the automatic player
  268.     launchers of extra shots
  269.     elemental ignore flags
  270.     new ego-item types
  271.     new player ghost creation
  272.     no more sliding objects
  273.     no more sliding monsters
  274.     new object flags
  275.     new chest trap code
  276.     regularized the artifact code
  277.     regularized the ego-item code
  278.     new monster abilities
  279.     new monster spell attacks
  280.     some new store owners
  281.     run-time skill computation
  282.     player kills vs anscestor kills
  283.     better room illumination code
  284.     better group monster code
  285.     table access through pointers
  286.     more redefinable constants
  287.     slightly new screen layout
  288.     extreme code cleaning
  289.     extreme optimizations
  290.  
  291.  
  292. === A Posting from the Original Author ===
  293.  
  294. From: koeneke@ionet.net (Robert Alan Koeneke)
  295. Newsgroups: rec.games.roguelike.angband,rec.games.roguelike.moria
  296. Subject: Early history of Moria
  297. Date: Wed, 21 Feb 1996 04:20:51 GMT
  298.  
  299. I had some email show up asking about the origin of Moria, and its
  300. relation to Rogue.  So I thought I would just post some text on the
  301. early days of Moria.
  302.  
  303. First of all, yes, I really am the Robert Koeneke who wrote the first
  304. Moria.  I had a lot of mail accussing me of pulling their leg and
  305. such.  I just recently connected to Internet (yes, I work for a
  306. company in the dark ages where Internet is concerned) and 
  307. was real surprised to find Moria in the news groups...  Angband was an
  308. even bigger surprise, since I have never seen it.  I probably spoke to
  309. its originator though...  I have given permission to lots of people
  310. through the years to enhance, modify, or whatever as long as they
  311. freely distributed the results.  I have always been a proponent of
  312. sharing games, not selling them.
  313.  
  314. Anyway...
  315.  
  316. Around 1980 or 81 I was enrolled in engineering courses at the
  317. University of Oklahoma.  The engineering lab ran on a PDP 1170 under
  318. an early version of UNIX.  I was always good at computers, so it was
  319. natural for me to get to know the system administrators.  They invited
  320. me one night to stay and play some games, an early startrek game, The
  321. Colossal Cave Adventure (later just 'Adventure'), and late one night,
  322. a new dungeon game called 'Rogue'.
  323.  
  324. So yes, I was exposed to Rogue before Moria was even a gleam in my
  325. eye.  In fact, Rogue was directly responsible for millions of hours of
  326. play time wasted on Moria and its descendents...
  327.  
  328. Soon after playing Rogue (and man, was I HOOKED), I got a job in a
  329. different department as a student assistant in computers.  I worked on
  330. one of the early VAX 11/780's running VMS, and no games were available
  331. for it at that time.  The engineering lab got a real geek of an
  332. administrator who thought the only purpose of a computer was WORK!
  333. Imagine...  Soooo, no more games, and no more rogue!
  334.  
  335. This was intolerable!  So I decided to write my own rogue game, Moria
  336. Beta 1.0.  I had three languages available on my VMS system.  Fortran
  337. IV, PASCAL V1.?, and BASIC.  Since most of the game was string
  338. manipulation, I wrote the first attempt at Moria in VMS BASIC, and it
  339. looked a LOT like Rogue, at least what I could remember of it.  Then I
  340. began getting ideas of how to improve it, how it should work
  341. differently, and I pretty much didn't touch it for about a year.
  342.  
  343. Around 1983, two things happened that caused Moria to be born in its
  344. recognizable form.  I was engaged to be married, and the only cure for
  345. THAT is to work so hard you can't think about it; and I was enrolled
  346. for fall to take an operating systems class in PASCAL.
  347.  
  348. So, I investigated the new version of VMS PASCAL and found out it had
  349. a new feature.  Variable length strings!  Wow...
  350.  
  351. That summer I finished Moria 1.0 in VMS PASCAL.  I learned more about
  352. data structures, optimization, and just plain programming that summer
  353. then in all of my years in school.  I soon drew a crowd of devoted
  354. Moria players...  All at OU.
  355.  
  356. I asked Jimmey Todd, a good friend of mine, to write a better
  357. character generator for the game, and so the skills and history were
  358. born.  Jimmey helped out on many of the functions in the game as well.
  359. This would have been about Moria 2.0
  360.  
  361. In the following two years, I listened a lot to my players and kept
  362. making enhancements to the game to fix problems, to challenge them,
  363. and to keep them going.  If anyone managed to win, I immediately found
  364. out how, and 'enhanced' the game to make it harder.  I once vowed it
  365. was 'unbeatable', and a week later a friend of mine beat it!  His
  366. character, 'Iggy', was placed into the game as 'The Evil Iggy', and
  367. immortalized...  And of course, I went in and plugged up the trick he
  368. used to win...
  369.  
  370. Around 1985 I started sending out source to other universities.  Just
  371. before a OU / Texas football clash, I was asked to send a copy to the
  372. Univeristy of Texas...  I couldn't resist...  I modified it so that
  373. the begger on the town level was 'An OU football fan' and they moved
  374. at maximum rate.  They also multiplied at maximum rate...  So the
  375. first step you took and woke one up, it crossed the floor increasing
  376. to hundreds of them and pounded you into oblivion...  I soon received
  377. a call and provided instructions on how to 'de-enhance' the game!
  378.  
  379. Around 1986 - 87 I released Moria 4.7, my last official release.  I
  380. was working on a Moria 5.0 when I left OU to go to work for American
  381. Airlines (and yes, I still work there).  Moria 5.0 was a complete
  382. rewrite, and contained many neat enhancements, features, you name it.
  383. It had water, streams, lakes, pools, with water monsters.  It had
  384. 'mysterious orbs' which could be carried like torches for light but
  385. also gave off magical aura's (like protection from fire, or aggrivate
  386. monster...).  It had new weapons and treasures...  I left it with the
  387. student assistants at OU to be finished, but I guess it soon died on
  388. the vine.  As far as I know, that source was lost...
  389.  
  390. I gave permission to anyone who asked to work on the game.  Several
  391. people asked if they could convert it to 'C', and I said fine as long
  392. as a complete credit history was maintained, and that it could NEVER
  393. be sold, only given.  So I guess one or more of them succeeded in
  394. their efforts to rewrite it in 'C'.
  395.  
  396. I have since received thousands of letters from all over the world
  397. from players telling about their exploits, and from administrators
  398. cursing the day I was born...  I received mail from behind the iron
  399. curtain (while it was still standing) talking about the game on VAX's
  400. (which supposedly couldn't be there due to export laws).  I used to
  401. have a map with pins for every letter I received, but I gave up on
  402. that!
  403.  
  404. I am very happy to learn my creation keeps on going...  I plan to
  405. download it and Angband and play them...  Maybe something has been
  406. added that will surprise me!  That would be nice...  I never got to
  407. play Moria and be surprised...
  408.  
  409. Robert Alan Koeneke
  410. koeneke@ionet.net
  411.  
  412.  
  413. === Previous Versions (outdated) ===
  414.  
  415.  
  416.                           VMS Moria Version 4.8
  417. Version 0.1  : 03/25/83
  418. Version 1.0  : 05/01/84
  419. Version 2.0  : 07/10/84
  420. Version 3.0  : 11/20/84
  421. Version 4.0  : 01/20/85
  422.  
  423. Modules :
  424.      V1.0  Dungeon Generator      - RAK
  425.            Character Generator    - RAK & JWT
  426.            Moria Module           - RAK
  427.            Miscellaneous          - RAK & JWT
  428.      V2.0  Town Level & Misc      - RAK
  429.      V3.0  Internal Help & Misc   - RAK
  430.      V4.0  Source Release Version - RAK
  431.  
  432. Robert Alan Koeneke               Jimmey Wayne Todd Jr.
  433. Student/University of Oklahoma    Student/University of Oklahoma
  434.  
  435.  
  436.  
  437.  
  438.  
  439.                         Umoria Version 5.2 (formerly UNIX Moria)
  440. Version 4.83 :  5/14/87
  441. Version 4.85 : 10/26/87
  442. Version 4.87 :  5/27/88
  443. Version 5.0  :  11/2/89
  444. Version 5.2  :   5/9/90
  445.  
  446. James E. Wilson, U.C. Berkeley
  447.                  wilson@ernie.Berkeley.EDU
  448.                  ...!ucbvax!ucbernie!wilson
  449.  
  450. Other contributors:
  451. D. G. Kneller         - MSDOS Moria port
  452. Christopher J. Stuart - recall, options, inventory, and running code
  453. Curtis McCauley       - Macintosh Moria port
  454. Stephen A. Jacobs     - Atari ST Moria port
  455. William Setzer        - object naming code
  456. David J. Grabiner     - numerous bug reports, and consistency checking
  457. Dan Bernstein         - UNIX hangup signal fix, many bug fixes
  458. and many others...
  459.  
  460.  
  461.  
  462.  
  463. Copyright (c) 1989 James E. Wilson, Robert A. Keoneke
  464.   This software may be copied and distributed for educational, research, and
  465.   not for profit purposes provided that this copyright and statement are
  466.   included in all such copies.
  467.  
  468. Umoria Version 5.2, patch level 1
  469.  
  470. Angband Version 2.0   Alex Cutler, Andy Astrand, Sean Marsh, Geoff Hill, 
  471.                       Charles Teague.
  472.  
  473. Angband Version 2.4   :  5/09/93
  474.  
  475. Angband Version 2.5   : 12/05/93 Charles Swiger.
  476.  
  477. Angband Version 2.6   :  9/04/94
  478.  
  479. Angband Version 2.7   :  1/1/95  Ben Harrison
  480.  
  481.  
  482.